Versatile conference adapter and method employing same

ABSTRACT

A conference adapter. In an illustrative embodiment, the conference adapter implements a method for interfacing one or more conference endpoints with one or more conference servers. The method includes registering an endpoint and a conference server to determine endpoint registration information associated with the endpoint and to determine conference-server registration information associated with the conference server. Next, the method includes receiving a connection from the endpoint and a connection from the conference server. Subsequently, the conference adapter establishes communications between the endpoint and the conference server as initiated by the endpoint and based on the endpoint registration information and the conference-server registration information. In a more specific embodiment, the method further includes receiving plural connections from conference servers of disparate types, and then selectively switching communications between the endpoint and a first conference server to communications between the endpoint and a second conference server. The method further includes selectively switching endpoints for a given conference session.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of and claims priority toU.S. application Ser. No. 11/448,313, filed on Jun. 7, 2006 now U.S.Pat. No. 7,978,216, the contents of which are incorporated herein byreference.

BACKGROUND OF THE INVENTION

This invention is related in general to communications systems and morespecifically relates to systems and methods for interfacingcommunications systems and/or devices.

Systems for interfacing communications systems are employed in variousdemanding applications, including network routers, telecommunicationsgateways between packet-switched and circuit-switched networks, andcontrollers for transitioning multimode phones between different typesof networks, such as cellular or WiFi networks. Such applications oftendemand versatile interfacing systems, such as gateways that enablecommunications between disparate networks, protocols, and/or devices.

Versatile interfacing systems are particularly important in conferencingapplications, where many disparate types of conference systems andaccompanying user-interface terminals, called endpoints, exist. Thedifferent types of conference systems may be mutually incompatible. Forexample, a conference controller or server for one type of conferencesystem may not allow communications with another type of conferencesystem. Furthermore, conference endpoints for one conference system maybe incompatible with another.

A user may have multiple endpoints associated with different types ofconference systems. The user is often limited to using the endpoint thatis specifically designed or configured for a given type of conferencesystem. Unfortunately, such incompatibilities between different types ofconference systems and endpoints are problematic, such as when users ofdifferent types of conference systems and/or endpoints wish tointercommunicate.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an integrated conference system and accompanyingadapter for interfacing disparate conference systems and endpointsaccording to an embodiment of the present invention.

FIG. 2 is a more detailed diagram illustrating the conference adapter ofFIG. 1.

FIG. 3 is a flow diagram of a first method adapted for use with theconference adapter of FIGS. 1-2.

FIG. 4 is a flow diagram of a second method adapted for use with theconference adapter of FIG. 1-2.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

A preferred embodiment of the present invention implements an adapter orgateway, called a Conference Endpoint Console (CEC), for interfacingcommunications between one or more endpoints, such as wireless phones,laptop computers, or other clients, and one or more conference servers.The adapter is designed to enable seamless switching of endpoints and/orconference servers during a communication session occurring via theadapter. The adapter further addresses incompatibilities betweendifferent types of endpoints and conference servers, enabling seamlesscommunications between otherwise incompatible devices.

For the purposes of the present discussion, different or disparate typesof endpoints may be endpoints associated with different basicfunctionality. Examples of disparate types of endpoints include acellular telephone and a laptop computer, or a SIP telephone and adesktop computer. Different configurations of endpoints or conferenceservers may be distinguished by state, wherein the state is defined bycharacteristics or functionality associated with the state. For example,an endpoint configured to operate in an audio-only mode is said to be ina different configuration or state than an endpoint configured tooperate in a text-only mode or state.

Certain embodiments of the present invention may allow a user to use oneendpoint to communicate with different types of conference systems; touse different types of endpoints with a given type of conference system;or to use plural types of endpoints with plural types of conferencingsystems. Such compatibility between conference systems and associatedendpoints is achieved without additional signaling between theconference systems and the CEC. Furthermore, existing endpoints need notbe modified to work with certain embodiments of the present invention.

For example, a user participating in a Rich Media Conference (RMC) withaudio, Web, video and Instant Messaging (IM), could log in to theadapter via a cellular phone and receive conference audio. The user maylater log in to the adapter via a Personal Digital Assistant (PDA) andrequest voice and Web portions of the conference. The user may thenswitch to a different full-featured endpoint to enable employing audio,Web, video, and IM modalities to participate in the conference. For thepurposes of the present discussion, the terms conference and conferencesession are employed interchangeably.

The adapter may insulate the conference servers and the endpoints fromany undesirable impacts, such as dropped conference sessions or dataloss, resulting from switching endpoints or conferences. A user mayemploy an endpoint and the adapter to join and switch betweenconferences hosted by conference servers belonging to different vendors.The adapter may further provide a consistent or unified user interfacefor communicating with different conference servers. The adapter mayprovide various additional features, such as personal-assistantfeatures, as discussed more fully below.

For clarity, various well-known components, such as video processors,power supplies, communications ports, hubs, modems, gateways, firewalls,network cards, video capture cards, Internet Service Providers (ISPs),and so on, have been omitted from the figures. However, those skilled inthe art with access to the present teachings will know which componentsto implement and how to implement them to meet the needs of a givenapplication.

FIG. 1 is a diagram of a network 10 that implements an integratedconference system. The integrated conference system 10 includes aconference adapter 16 for interfacing disparate conference systems 18-22and endpoints 12, 14, 26 according to an embodiment of the presentinvention. The integrated conference system 10 further includes a mobilestation 12 and a personal computer 14, which act as endpoints thatcommunicate with the conference adapter 16.

The mobile station 12, personal computer 14, conference adapter 16, andconference servers 18-22 are considered conference devices for thepurposes of the present discussion. A conference device may be anyentity employed to facilitate communications between two or more partiesor entities participating in a conference. Additional examples ofconference devices may include computer Web-terminals,video-conferencing terminals, and so on.

For the purposes of the present discussion, a mobile station may be anydevice, such as a client, that can wirelessly communicate with anetwork. Examples of mobile stations include wireless phones, cellphones, laptops with IEEE 802.11 wireless cards, other wireless clients,and so on. A client may be any device that receives information from anetwork, such as from a server in the network, such as in response to aquery or a push from the server to the client. An endpoint may be anydevice or terminal that is adapted to provide user input to a network orcommunications session, such as a conference. Hence, an endpoint may bea client and/or a mobile station and vice versa.

For illustrative purposes, the mobile station 12 is shown includingMobile Station (MS) audio functionality 28 and Short Message Service(SMS) text functionality 30, which may be employed to communicate withthe conference adapter 16. The Personal Computer (PC) 14 includesWeb-conferencing functionality 32, audio/video-conferencingfunctionality 34, and Instant Messaging (IM) text functionality 36,which may be employed to communicate with the conference adapter 16.

The conference adapter 16 is coupled to a first conference server 18, asecond conference server 20, and a third conference server 22, which areconference servers of disparate types, including a first type, a secondtype, and a third type, respectively. The conference servers 18-20,which are also called conference controllers, are optionally included ina packet-switched network or other type of network, such as the Internet24. The conference servers 18-22 are optionally coupled to otherendpoints 26, each of which may join a conference hosted by one of theconference servers 18-22.

For the purposes of the present discussion, types of network entities,such as conference servers or endpoint are distinguished by capabilitiesand/or inter compatibility of the network entities. For example,different types, i.e., disparate types, of conference servers typicallyemploy incompatible signaling and/or functionality. Certain embodimentsof the present invention may bridge or otherwise make the signalingand/or functionality compatible so that different types of networkentities may intercommunicate, as discussed more fully below.

A conference server may be any entity, such as a controller or otherconference system, that coordinates or otherwise facilitatesinterconnecting plural endpoints in a conference session. A conferencesession may be any communication session between plural parties,including text, audio, video, combinations thereof and/or other types ofcommunications sessions.

In operation, the conference adapter 16 incorporates functionality,which may be implemented via one or more hardware and/or softwareroutines, for making the mobile station 12 and the personal computer 14,which represent different types of endpoints, compatible with thedifferent types of conference servers 18-22. Each type of conferenceserver 18-22 may employ signaling and may provide capabilities that areotherwise incompatible with the signaling and/or capabilities of one ormore of the endpoints 12, 14.

While the endpoints 12, 14 are shown including only the mobile station12 and the personal computer 14, other types of endpoints may beemployed without departing from the scope of the present invention. Forexample, the mobile station 12 may be implemented via a SessionInitiation Protocol (SIP) phone, a Bluetooth client, a Wi-Fi client, orother device. Similarly, the personal computer 14 may be a laptop, apocket computer, such as a PDA, or other type of client. Furthermore,while only two different types of endpoints 12, 14 are shown, differentnumbers of endpoints of various types or of similar types may beemployed with embodiments of the present invention without departingfrom the scope thereof.

Furthermore, while the present embodiment is discussed as employingthree conference servers 18-22, each of different types, conferenceservers of similar types may be employed. Furthermore, more or fewerthan three conference servers may be employed.

In an exemplary operative scenario, a user of the personal computer 14may wish to join or initiate a conference session hosted by the firstconference server 18. The user may employ the personal computer 14 toconnect to the conference adapter 16, such as via a wireless accesspoint, an Internet Service Provider (ISP), etc. The conference adapter16 may be implemented in a network endpoint, a router, an ISP network,etc.

The conference adapter 16 maintains predetermined registrationinformation pertaining to the personal computer 14. The predeterminedregistration information may include log-in passwords, usernames, and/orother types of authentication data, such as cookies, to enable theconference adapter 16 to authenticate the personal computer 14 andauthorize use of certain conference services and functionality.

The conference adapter 16 also maintains registration information forthe conference servers 18-22 and also contains support and signalingfunctionality necessary to communicate with the conference servers 22 inresponse to communications from endpoints 12, 14. The conference adapter16 includes conversion functionality to convert signaling andfunctionality, including protocols, as needed to seamlessly establishcommunications between the endpoints 12, 14 and one or more of theconference servers 18-22 as desired.

In the present illustrative scenario, the personal computer 14 employsone or more modalities or functionality 32-36 to participate in aconference hosted by the first conference server 18 after logging intothe conference adapter 16 and initiating or joining a conference hostedby the first conference server 18. Subsequently, during a conferencesession between the personal computer 14 and the first conference server18, the user of the personal computer 14 decides to continueparticipating in the conference session, but wishes to employ the mobilestation 12 instead of or in addition to the personal computer 14.

The user may then employ the mobile station 12 to dial into theconference hosted by the first conference server 18 while the conferencesession between the personal computer 14 and the first conference server18 is ongoing. Subsequently, after the mobile station 12 has joined theconference session, the user may exit the personal computer 14 from theconference session while continuing the conference session with themobile station 12. The ability of the user to switch between use of thepersonal computer 14 and the mobile station 12 during a conferencesession is enabled by the conference adapter 16. The conference adapter16 enables endpoints of different types or similar types to connect toone or more conference servers of different or similar types.

Alternatively, when the user is employing the personal computer 14during a conference session and wishes to switch to the mobile station12, the user may activate a conference-recording feature at theconference adapter 16. The conference-recording feature is particularlyuseful when the mobile station 12 is not within reach of the user. Forexample, the user may need to go to a separately located car to accessthe mobile station 12, which may be a car phone.

The user may activate the conference-recording feature of the conferenceadapter 16 by entering a predetermined user-interface command via thepersonal computer 14. The command is forwarded from the personalcomputer 14 to the conference adapter 16 as a control signal that issufficient to activate the conference-recording feature, i.e., recorderat the conference adapter 16.

When the conference-recording feature is activated, the user maydisconnect the personal computer 14 from the conference session.Subsequently, in the present operative scenario, the user employs themobile station 12 to join the conference session hosted by the firstconference server 18. However, before joining the conference session,the user of the mobile station 12 enters authentication information asneeded to access the conference recording that was earlier initiated viathe personal computer 14. The user then plays back the recording, viathe conference-recording feature, at a higher rate before rejoining theconference session, so as to catch up with the conference session.Alternatively, the user joins the conference session midstream withoutreviewing recorded information. The user may save the recording forfuture reference. Hence, the conference-recording feature may facilitateswitching endpoints during a conference without losing data pertainingto the conference session.

The conference information recorded by the conference-recording featuremay include recorded text, audio, video, and/or other types of media. Ifthe user has selected and activated text-based recording via theconference-recording feature, then the user may download recorded textto the mobile station 12, such as via an SMS message, which mayfacilitate catching up to the conference session. If the user hasactivated audio/video recording, the conference adapter 16 employspredetermined knowledge of the mobile station 12 to ensure that only theaudio portion of the audio/video recording is forwarded to the mobilestation 12 in response to a request from the mobile station 12 forrecorded content.

In a second operative scenario, the user of the mobile station 12 wishesto switch to or otherwise initiate a second conference session hosted bythe second conference server 20. The user may activate, via the mobilestation 12, conference switching functionality provided by theconference adapter 16. Exact details pertaining to commands employed bythe mobile station 12 to switch between conferences, are applicationspecific. Those skilled in the art with access to the present teachingsmay readily implement requisite commands to meet the needs of a givenimplementation without undue experimentation.

After switching between the first and the second conference sessionshosted by the first conference server 18 and the second conferenceserver 20, respectively, the user wishes to join or otherwise initiate athird conference session hosted by the third conference server 22. Theuser of the mobile station 12 may then employ the mobile station 12 toswitch between the conference sessions as desired.

Subsequently, the user wishes to join or combine the three conferencesessions hosted by the different conference servers 18-22. The user thenemploys the mobile station 12 to send one or more control signals to theconference adapter 16 that are sufficient to activateconference-bridging functionality implemented in the conference adapter16. The conference adapter 16 then bridges conference sessions hosted bythe conference servers 18-22, thereby combining them into a singleconference that is accessible by the mobile station 12.

Subsequently, in the present operative scenario, the user of the mobilestation 12 receives an incoming call while participating in theconference 10. The mobile station 12 may have previously activatedautomatic personal-assistant functionality included in the conferenceadapter 16 that may automatically detect, such as based on an audiblecall-waiting signal, when the mobile station 12 has an incoming call.The personal-assistant functionality may then automatically lower thevolume of the conference session by a predetermined amount to enable theuser of the mobile station 12 to retrieve the incoming call. Theincoming call may be muted to other participants it in the conferencesession. The personal-assistant functionality is particularly usefulwith Session Initiation Protocol (SIP) phones, where SIP may be employedto enhance call-waiting functionality without requiring prohibitivemodification to a SIP phone.

Hence, the conference adapter 16 is particularly useful to enable themobile station 12 to switch between conferences hosted by conferenceservers of different types. Accordingly, previously incompatibleendpoints may now communicate with previously incompatible conferenceservers as needed.

FIG. 2 is a more detailed diagram illustrating the conference adapter 16of FIG. 1. The conference adapter 16 is also called a CEC or aconference gateway. For the purposes of the present discussion, a CECmay be any device or network entity that may act as an adapter betweenan endpoint and a conference server to facilitate compatiblecommunications between the endpoint and the conference server. Aconference server may be any conference device, such as a controller,that facilitates interconnecting parties of a conference session.

With reference to FIGS. 1 and 2, the conference adapter 16 includes anadapter controller 48 that communicates with the mobile station 12 andthe personal computer 14 and further communicates with the pluralconference servers 18-22. The adapter controller 48 employsfunctionality implemented in various modules of the conference adapter16 to facilitate interfacing the mobile stations 12, 14 with theconference servers 18-22 and to facilitate converting signaling betweenthe mobile stations 12, 14 and conference servers 18-22 to make thesignaling compatible between the conference devices 12-22.

The conference adapter 16 further includes a registration module 50, afunctionality super set 64, a recording buffer 56, an interfaceconverter 58, a conference assistant 60, and a conference-server bridge62, which communicate with the adapter controller 48. The registrationmodule 20 has access to authentication data 54, which may includeadapter-login password, conference-server login identification numbers,usernames, and so on. The registration module 50 and the adaptercontroller 48 have direct access to configuration data 52, which mayinclude communications protocols, interface command sets, and so on,employed by each conference server and the adapter 16 itself. Theregistration module 50 may run one or more routines for collecting theconfiguration data 52 and the authentication data 54 directly from theconference servers 18-22 and/or the endpoints 12, 14, or via a userinterface 76. The user interface 76 may implement additionalfunctionality enabling a user to employ the user interface 76 as anendpoint to join a conference session hosted by one or more of theservers 18-22. The user interface 76 may also enable a user to configurethe conference adapter 16; update the conference adapter 16 to work withadditional types of endpoints and conference servers; register certainendpoints and conference servers, and so on.

The adapter controller 48 is shown further including a conference-serverswitching module 78 and an endpoint-switching module 80. While the userinterface 76, and the controller modules 78, 80 are shown implemented inthe adapter controller 48, they may be implemented as modules that areexternal to the adapter controller 48 but in communication with theadapter controller 48, without departing from the scope of the presentinvention. Similarly, various other adapter modules 50-74 may beintegrated with the adapter controller 48 as part of an overall adapterprogram without departing from the scope of the present invention. Thoseskilled in the art with access to the present teachings may readilyimplement functionality represented by various components of theconference adapter 16 without undue experimentation.

The functionality super set 64 includes a super set of functionalityemployed by endpoints 12, 14 and the conference servers 18-22 toparticipate in a conference. For example, the first type of conferenceserver 18 may enable audio and text conferences in a first format. Themobile station 12 may participate in audio and text portions of aconference session in a second format via the MS audio functionality 28and text functionality 30. Accordingly, the functionality super set 64includes adapter audio functionality 66, which implements one or moreroutines for handling and converting audio signals in the first formatand the second format. Similarly, the functionality super set includesadapter text functionality 68 that can handle and convert text signalsin the first format and the second format. For illustrative purposes,the functionality super set 64 is shown further including adapter videofunctionality 70, Web-conferencing functionality 74, and interfacefunctions 72. The interface functions 72 may represent a repository ofcommands employed by various conference servers and commands that can beentered by each endpoint 12, 14.

In operation, the interface converter 58 may access the interfacefunctions 72 and map incoming commands from the endpoints 12, 14 to astandard set of commands provided by the conference adapter 16. Thestandard set of commands provided by the conference adapter 16 aremapped by the interface converter 58 to commands associated with eachconference 18-22 as needed to enable the endpoints 12, 14 to control anduse conference functionality afforded by each of the conference servers18-22.

When a user enters a command via one of the endpoints 12, 14, thecommand is delivered to the conference adapter 16 as a control signal.The control signal is received by the adapter controller 48, whichaccesses the interface converter 58 as needed to convert the command toan appropriate command before forwarding the command to the intendedconference server. The interface converter 58 access the interfacefunctions 72 as needed to implement a given command conversion.

For example, pressing #5 on a keypad of the mobile station 12, mayactivate mute for a MeetingPlace conference server, such as the firstconference server 18, if the mobile station 12 were communicatingdirectly with the first conference server 18. Pressing #44 whencommunicating directly with the second conference server 20 may activatethe mute. The conference adapter 16 may employ #5 to mute any conferencesession hosted by any of the conference servers 18-22. Accordingly, whenthe mobile station 12 is participating in a conference session hosted bythe second conference server 20 and presses #5, the conference sessionwill be muted. Hence, the conference adapter 16 employs the interfaceconverter 58 to conceal the fact that the second conference server 20employs #44 for mute rather than #5. Accordingly, the interfaceconverter 58 incorporates one or more routines for translating interfacecommands. Exact details for implementing a command-conversion interfaceare application specific. Those skilled in the art with access to thepresent teachings may readily implement specific signal-conversionfunctionality as needed for a particular application, without undueexperimentation. Accordingly, the command-translation functionalityimplemented by the interface converter 58 handle various types ofcommands as needed, such as commands corresponding to Dual ToneMulti-Frequency (DTMF) or SIP-event packages.

Accordingly, the conference adapter 16 provides a common user interface,i.e., user-interface commands and/or other functionality, for theendpoints 12, 14 for various conferencing features. The endpoints 12, 14may participate in conference sessions on different conference servers18-22, where each conference server has a different set of userinterface commands. The conference adapter 16 may map the user interfacecorresponding to a given endpoint 12, 14 to the corresponding userinterface on each different conference server 18-22. Hence, the a userdoes not need to remember how to use different conference-serverinterfaces, but instead can learn the unified interface offered via theconference adapter 16.

Interface conversion performed by the interface converter 58 is notnecessarily limited to conversion of interface commands. For example,the conference adapter 16 may provide similar graphical user interfacesto endpoints that can support the graphical user interface. For example,the mobile station 12 may include a browser that can browse to theconference adapter 16 and open the interface provided by the conferenceadapter 16 as a webpage, without departing from the scope of the presentinvention.

The adapter controller 48 includes one or more routines for employingthe buffer 56 to record a conference session as needed to prevent lossof data during switching of endpoints or conference servers during acommunication session handled by the conference adapter 16. The buffer56 represents the conference-recording feature that may also enable auser, such as the user of the personal computer 14 of FIG. 1, to catchup to a conference. For example, the user may activate, such as via apredetermined command, one or more routines in the adapter controller 48to playback at a higher than standard rate recorded contents of aparticular conference session that is or was being recorded in thebuffer 56.

The recording functionality offered by the buffer 56 is particularlyuseful, for example, when a user cannot attend a conference session ontime. The user may employ an endpoint 12, 14 and one or more of thepredetermined interface functions 72 to instruct the conference adapter16 to record the conference. Hence, the conference adapter 16 may act asa streaming endpoint, receiving a media stream and recording the media,until a given endpoint enters the conference session via the adaptercontroller 48, at which point the conference adapter 16 may act as atwo-way interactive endpoint.

The adapter controller 48 may run one or more routines for selectivelyemploying conference assistant 60 in response to one or more commands,i.e., control signals received from an endpoint 12, 14. The conferenceassistant 60 may provide various functionality usable by one or more ofthe endpoints 12, 14. For example, the conference assistant 60 may beconfigured to automatically adjust the volume of an audio conferencesession in response to a given command received by one of the endpoints12, 14, or automatically in response to detection of a specific eventdetected by the conference assistant 60. For example, the specific eventmay be the detection of an incoming call to the mobile station 12, whichmay be a SIP phone. The volume of the audio conference session is thenlowered, while the user of the mobile station 12 simultaneously connectsto the incoming caller. The audio of the conference session may beplayed in the background as heard from the mobile station 12. Theconference session may be inaudible to the incoming caller and to otherparticipants of the audio conference session.

Those skilled in the art with access to the present teachings mayreadily implement various types of conference-assistant functionality60. The increasingly widespread use of SIP phones may further enhancetypes of conference-assistant functionality that may be incorporated inembodiments of the present invention.

The conference-server bridge 62 incorporates conference-bridgingfunctionality that may be selectively activated by the adaptercontroller 48 in response to one or more predetermined commands from oneor more of the endpoints 12, 14. For the purposes of the presentdiscussion, conference-bridging functionality may be functionality thatenable combining conference sessions hosted by different conferenceservers, such as two or more of the conference servers 18-22 of FIG. 1,into a single conference.

In one operative scenario, a user of the mobile station 12 joins severalseparate conference sessions hosted by the different conference servers18-22 and actively employs conference-server switching module 78implemented by the adapter controller 48 to switch between conferencesessions hosted by the conference servers 18-22. Subsequently, the userof the mobile station 12 decides to merge the conference sessions byissuing one or more predetermined commands, which are sent as controlsignals from the mobile station 12 to the conference-adapter controller48. The adapter controller 48 then employs the conference-server bridge62 to combine communications from the various conference servers 18-22into a single unified conference session integrated by the conferenceadapter 16. The unified conference session is accessible to not only themobile station 12 and the personal computer 14 endpoints of FIG. 1, butthe other endpoints 26 that were originally participating in individualconference sessions hosted by the conference servers 18-22.

The registration module 50 includes one or more routines forfacilitating configuring the conference adapter 16 to work with varioustypes of endpoints and conference servers. The registration module 50may collect the authentication data for conference servers 18-22 andendpoints 12, 14. For the purposes of the present discussion,authentication data or information may be any information that may beemployed to determine if and/or how a client or other network entity isauthorized to access a network or to otherwise employ certain servicesthereof. Examples of authentication data include a login-password andusername for endpoints accessing the conference adapter 16, loginpasswords and/or other identification or access information for a givenconference session, and so on.

The authentication data 54 includes adapter login information andconference-server login information.

Adapter login information may be a username, password, and/or other datausable for authentication and/or identification of a network entity,such as one of the endpoints 12, 14, by the conference adapter 16.Similarly, conference-server login information may be informationemployed by a conference server, such as one of the conference servers18-22, to authenticate or otherwise identify and accept or reject aconnection from another network entity, such as an endpoint client. Inthe present specific embodiment, the adapter login information may beemployed to enable one or more of the endpoints 12, 14 endpoint toautomatically log in to plural conference servers 18-22 withoutrequiring the endpoints 12, 14 to login separately to each conferenceserver 18-22, i.e., to enter separate conference login information toeach conference server 18-22.

The configuration data 52 collected by the registration module 50 mayinclude protocol information, additional interface commands employed bya given conference server, and other information needed by theconference adapter 16 for a particular implementation.

In the present specific embodiment, the configuration data may furtherinclude dial-in numbers, Internet Protocol (IP) addresses of conferenceservers, and/or other data needed by the conference adapter 16 toautomatically connect to one or more conference sessions hosted by oneor more of the conference servers 18-22. The registration module 50 maycollect sufficient registration information to enable a user of one ofthe endpoints 12, 14 to connect with the conference adapter 16; log into the conference adapter 16 by entering adapter login information; andthen readily connect to one or more conference sessions hosted by one ormore of the conference servers 18-22. The conference adapter 16 mayemploy the predetermined authentication data 54 and configuration data52 to connect to the conference servers 18-22 as commanded by the user,without requiring the user to re-enter authentication data for eachconference server 18-22.

The conference-server switching module 78 incorporates one or moreroutines for enabling one or more of the endpoints 12, 14 to selectivelyswitch communications between conference sessions hosted by thedifferent conference servers 18-22.

The endpoint-switching module 80 incorporates one or more routines forenabling a user to switch endpoints 12, 14 used for a particularconference session.

Hence, the conference adapter 16 may act as a media/signaling proxy anda conference manager for a user who subscribes to services offered bythe conference adapter 16. The conference adapter 16 may supportmultiple conference devices 12, 14 registered with a subscriber.

The conference adapter 16 may manage a signaling stream/media streamto/from the network 10 for a given conference session. Devices, such asthe endpoints 12, 14, that are registered by a subscriber are positionedbehind the conference adapter 16. The conference servers may lackknowledge of the existence of multiple endpoints 12, 14 beyond theconference adapter 16. Communication between the conference adapter 16and the endpoints 12, 14 may be based on one or more protocols, such asSIP or another standard protocol.

All endpoints 12, 14 or other devices associated with a subscriberinitially register with the conference adapter 16, such as via theregistration module 50. The conference adapter 16 employs thefunctionality super set 64, which represents a super set of media andsignaling capabilities for all the endpoints 12, 14 in the conference,and consequently, may support various signal streams, including audio,video and Web streams to/from the network 10.

The conference adapter 16, which may also be called a proxy manager, mayact as a Back-to-Back User Agent (B2BUA) in a SIP environment that canperform various roles for a given endpoint. The roles include enablingan endpoint to participate in conference sessions on differentconference servers, where each conference server and/or associatedconference session support different features and signaling mechanisms.The conference adapter 16 may act as an adapter that can handle variousconference-server features, endpoint features, and signaling and medianegotiations across different disparate conference servers.

The conference adapter 16 performs signaling/media negotiations with theconference servers 18-22 on the behalf of the endpoints 12, 14, whilemaintaining a common or otherwise compatible signaling protocols andmethods with each of the endpoints 12, 14.

The conference adapter 16 may support spanning across multipleconferences, such as via the conference-server bridge 62. Hence, anendpoint may participate in multiple conferences on different conferenceservers, such as conference servers made by different vendors, and couldperiodically switch from one conference server to another.

When an endpoint, such as the mobile station 12 of FIG. 1, switchesbetween conference sessions hosted by the conference servers 18-22,additional negotiations may occur between the conference adapter 16 andthe conference servers 18-22. Alternatively, the conference adapter 16remains connected to the conferences 18-22, while switching the mobilestation 12 between conferences as desired, thereby obviating the needfor the mobile station 12 to login again to each conference session towhich the mobile station 12 will switch. In this case, the conferenceadapter 16 is said to reserve connections between the conference adapter16 and the conference servers 18-22. By reserving connections, theconference adapter 16 may enable the endpoints 12, 14 to switch betweenconference sessions hosted by the conference servers 18-22 without theconference servers 18-22 knowing that the switch is occurring oroccurred.

The conference adapter 16 includes hardware and/or software routines tohandle signaling and/or media negotiations with the conference servers18-22 as needed for a particular application. For example, a travelinguser participating in a conference session via the mobile station 12 mayswitch to the personal computer 14 or other client and resume theconference session upon returning to an office.

Conventionally, to switch endpoints, a given conference session isinterrupted, and excess signaling between an endpoint and a conferenceserver is required to reestablish a conference session with a differentendpoint. Certain embodiments of the present invention obviate the needto interrupt a conference session and invoke excess signaling between anendpoint and a conference server to reestablish a given conferencesession.

Hence, the conference adapter 16 incorporates various modules andfunctionality to interface a single endpoint to multiple types ofconference server, simultaneously or separately; to allow an endpoint toseamlessly switch between multiple disparate conference systems or toconnect simultaneously to multiple disparate conference systems; tointerface different types of endpoints to a single type of conferenceserver or multiple conference servers; to seamlessly transfer aconference session from one endpoint to another without requiringadditional signaling between the conference adapter 16 and theassociated conference server; to provide a common user interface for anendpoint to use for conferencing features offered by differentconference servers; to prevent loss of data when switching endpointsduring a conference; to provide personal-assistant functionality, suchas facilitating handling incoming calls to an endpoint during aconference; to act as a bridge between different conference servers, andso on.

With reference to FIGS. 1 and 2, the conference adapter 16 may beconsidered more generally as an apparatus or system for integratingdisparate conference system components 12, 14, 18-22, wherein theadapter includes a first mechanism 48, 50, 52, 54 for establishing afirst conference session between a first conference entity, such as thefirst endpoint 12 or the first conference server 18, and a secondconference entity, such as the first conference server 18 or the firstendpoint 12, respectively. A second mechanism 78, 80 maintains the firstconference session while switching the conference session to occurbetween the first conference entity 12, 18 and a third conferenceentity, such as the second conference server 20 or the personal computer14. This results in the first conference session being between thesecond conference entity 18, 12 and the third conference entity 20, 14.For the purposes of the present discussion, a communications session ora conference session is said to be maintained when one or more of theparticipants or network entities in a conference session remainconnected to a conference session.

The apparatus further includes a third mechanism 50-54 that is adaptedto register an endpoint, such as the mobile station 12 corresponding tothe first conference entity and determining endpoint functionality inresponse there to. The endpoint functionality, such as availablemodalities, including the MS audio functionality 28 and the SMS textfunctionality 30 may be provided as configuration data 52 in theconference adapter 16.

A fourth mechanism 50-54, registers a conference server, such as thefirst conference server 18, corresponding to the second conferenceentity and determines conference server functionality in responsethereto. The conference server functionality, which may includeconference audio, video, and text functionality supported by aconference server may also be included in the configuration data 52. Theconfiguration data 52 may be accessed by the functionality super set 64via the adapter controller 48 as needed to enable the functionalitysuper set 64 to determine which functionality to employ for a givenconference session.

A fifth mechanism 48, 52, 64 determines compatible functionality betweenthe endpoint 12 and the conference server 18 based on the endpointfunctionality and the conference functionality and employs thecompatible functionality to facilitate communications between theendpoint 12 and the conference server 18. For the purposes of thepresent discussion, compatible functionality between two entities may befunctionality that may be implemented to facilitate conferencing betweenthe two entities.

Alternatively, the conference adapter 16 may be considered an apparatusfor interfacing one or more conference endpoints with one or moreconference servers, wherein the apparatus includes a registration module50, 52, 54 adapted to register an endpoint, such as one or more of theendpoints 12, 14 of FIG. 1, and plural conference servers, such as theservers 18-22 of FIG. 1, and to determine endpoint registrationinformation 52, 54 associated with the endpoint 12, 14 and to determineconference-server registration information 52, 54 associated with eachof the plural conference servers 18-22. A control module, such as theadapter controller 48, is adapted to receive a connection from theendpoint 12, 14 and connections from each of the conference servers18-22 and to selectively establish communications between the endpoint12, 14 and one or more of the plural conference servers 18-22 inresponse to control input from the endpoint 12, 14 and based on theendpoint registration information 52, 54 and the conference-serverregistration information 52, 54.

For the purposes of the present discussion, the term establishingcommunications may mean to initiate any form of information or datatransmission and/or reception. The term establishing a conference maymean to initiate any connection via which participants may exchangeinformation.

FIG. 3 is a flow diagram of a first method 100 adapted for use with theconference adapter 16 of FIGS. 1-2. The method 100 includes an initialfunctionality-incorporating step 102 that includes incorporatingsignaling functionality in a conference adapter, such as the adapter 16of FIGS. 1-2, to enable an endpoint, such as the endpoints 12, 14 ofFIG. 1, to communicating with plural conference servers, includingconference servers of different types, such as the conference servers18-22 of FIG. 1.

A subsequent registering step 104 includes registering the endpoint touse the conference adapter. Registration may include specifyingauthentication data, endpoint type and/or capabilities, and so on.

Subsequently, an adapting step 106 includes interfacing the registeredendpoint with the plural conference servers via the adapter.

Next, an establishing step 108 includes issuing one or morepredetermined commands via the registered endpoint to selectivelyestablish conference sessions with one or more of the conferenceservers; to selectively switch between preexisting conferences occurringon each the plural conference servers; and/or to simultaneouslyparticipate in multiple conferences being hosted by two or more of theplural conference servers.

The method 100 ends when a system break occurs, such as in response toterminating all communications with the adapter, turning off theadapter, disabling the network in which the adapter resides, and so on.

Various steps 102-108 of the method 100 may be omitted, or the steps102-108 may be reordered or modified without departing from the scope ofthe present invention. For example, an alternative method is discussedmore fully below.

FIG. 4 is a flow diagram of a second method 110 adapted for use with theconference adapter 16 of FIG. 1-2. The second method 110 includes aninitial incorporating step 112, wherein sufficient signalingfunctionality is incorporated in a conference adapter to enable pluralendpoints, including endpoints of different types, to communicate with aconference server.

In a subsequent endpoint-registering step 114, plural endpoints areregistered to use the conference adapter. The endpoint registration mayinclude specifying authentication data, endpoint type and/orcapabilities, and so on, for each endpoint.

Subsequently, a conference-interfacing step 116 includes employing theadapter to interface one or more registered endpoints with theconference server.

Next, an implementing step 118 includes employing one or more of theplural endpoints and one or more predetermined commands to selectivelyswitch endpoints and/or types of endpoints during a conference sessionwith the conference server.

Various steps 112-118 may be interchanged or omitted without departingfrom the scope of the present invention.

With reference to FIGS. 1-4, while embodiments of the invention havebeen discussed with respect to a conference adapter 16 that is separatefrom endpoints 12, 14 and from conference server 18-22, embodiments ofthe present invention are not limited thereto. Conference-adapterfunctionality may be implemented in an endpoint and/or a conferenceserver without departing from the scope of the present invention.Furthermore, the conference adapter 16 need not be implemented in aphysical console. For example, the conference adapter 16 may beimplemented via a website. In this case, a client computer andaccompanying Web browser may act as a participating endpoint.

Although embodiments of the invention are discussed primarily withrespect to server-client architecture, any acceptable architecture,topology, protocols, or other network and digital processing featurescan be employed. In general, network controllers, managers, accesspoints, endpoints, clients, and so on, can be implemented via any devicewith processing ability or other requisite functionality.

Although processes of the present invention and the hardware executingthe processes may be characterized by language common to a discussion ofthe Internet (e.g., “client,” “server,” “peer”), it should be apparentthat operations of the present invention can execute on any type ofsuitable hardware in any communication relationship to another device onany type of link or network.

Although a process of the present invention may be presented as a singleentity, such as software executing on a single machine, such softwarecan readily be executed on multiple machines. That is, there may bemultiple instances of a given software program, a single program may beexecuting on two or more processors in a distributed processingenvironment, parts of a single program may be executing on differentphysical machines, etc. Furthermore, two different programs, such as aclient and server program, can be executing in a single machine, or indifferent machines. A single program can be operating as a client forone information transaction and as a server for a different informationtransaction.

Any type of processing device can be used as a client. For example,portable computing devices such as a personal digital assistant (PDA),cell phone, laptop computer, or other devices can be employed. Ingeneral, the devices and manner of specific processing (includinglocation and timing) are not critical to practicing important featuresof the present invention.

Although the invention has been discussed with respect to specificembodiments thereof, these embodiments are merely illustrative, and notrestrictive, of the invention. Embodiments of the present invention canoperate between any two processes or entities including users, devices,functional systems, or combinations of hardware and software.Peer-to-peer networks and any other networks or systems where the rolesof client and server are switched, change dynamically, or are not evenpresent are within the scope of the invention.

Any suitable programming language can be used to implement the routinesor other instructions employed by various network entities. Exemplaryprogramming languages include C, C++, Java, assembly language, etc.Different programming techniques can be employed such as procedural orobject oriented. The routines can execute on a single processing deviceor multiple processors. Although the steps, operations or computationsmay be presented in a specific order, this order may be changed indifferent embodiments. In some embodiments, multiple steps shown assequential in this specification can be performed at the same time. Thesequence of operations described herein can be interrupted, suspended,or otherwise controlled by another process, such as an operating system,kernel, etc. The routines can operate in an operating system environmentor as stand-alone routines occupying all, or a substantial part, of thesystem processing.

In the description herein, numerous specific details are provided, suchas examples of components and/or methods, to provide a thoroughunderstanding of embodiments of the present invention. One skilled inthe relevant art will recognize, however, that an embodiment of theinvention can be practiced without one or more of the specific details,or with other apparatus, systems, assemblies, methods, components,materials, parts, and/or the like. In other instances, well-knownstructures, materials, or operations are not specifically shown ordescribed in detail to avoid obscuring aspects of embodiments of thepresent invention.

A “machine-readable medium” or “computer-readable medium” for purposesof embodiments of the present invention may be any medium that cancontain, store, communicate, propagate, or transport the program for useby or in connection with the instruction execution system, apparatus,system or device. The computer readable medium can be, by way of exampleonly but not by limitation, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, system,device, propagation medium, or computer memory.

A “processor” or “process” includes any human, hardware and/or softwaresystem, mechanism or component that processes data, signals or otherinformation. A processor can include a system with a general-purposecentral processing unit, multiple processing units, dedicated circuitryfor achieving functionality, or other systems. Processing need not belimited to a geographic location, or have temporal limitations. Forexample, a processor can perform its functions in “real time,”“offline,” in a “batch mode,” etc. Portions of processing can beperformed at different times and at different locations, by different(or the same) processing systems. A computer may be any processor incommunication with a memory.

Reference throughout this specification to “one embodiment”, “anembodiment”, or “a specific embodiment” means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention and notnecessarily in all embodiments. Thus, respective appearances of thephrases “in one embodiment”, “in an embodiment”, or “in a specificembodiment” in various places throughout this specification are notnecessarily referring to the same embodiment. Furthermore, theparticular features, structures, or characteristics of any specificembodiment of the present invention may be combined in any suitablemanner with one or more other embodiments. It is to be understood thatother variations and modifications of the embodiments of the presentinvention described and illustrated herein are possible in light of theteachings herein and are to be considered as part of the spirit andscope of the present invention.

Embodiments of the invention may be implemented in whole or in part byusing a programmed general purpose digital computer; by usingapplication specific integrated circuits, programmable logic devices,field programmable gate arrays, optical, chemical, biological, quantumor nanoengineered systems or mechanisms; and so on. In general, thefunctions of the present invention can be achieved by any means as isknown in the art. Distributed or networked systems, components, and/orcircuits can be used. Communication, or transfer of data may be wired,wireless, or by any other means.

It will also be appreciated that one or more of the elements depicted inthe drawings/figures can also be implemented in a more separated orintegrated manner, or even removed or rendered as inoperable in certaincases, as is useful in accordance with a particular application. It isalso within the spirit and scope of the present invention to implement aprogram or code that can be stored in a machine-readable medium topermit a computer to perform any of the methods described above.

Additionally, any signal arrows in the drawings/figures should beconsidered only as exemplary, and not limiting, unless otherwisespecifically noted. Furthermore, the term “or” as used herein isgenerally intended to mean “and/or” unless otherwise indicated.Combinations of components or steps will also be considered as beingnoted, where terminology is foreseen as rendering the ability toseparate or combine is unclear.

As used in the description herein and throughout the claims that follow“a”, “an”, and “the” include plural references unless the contextclearly dictates otherwise. Furthermore, as used in the descriptionherein and throughout the claims that follow, the meaning of “in”includes “in” and “on” unless the context clearly dictates otherwise.

The foregoing description of illustrated embodiments of the presentinvention, including what is described in the Abstract, is not intendedto be exhaustive or to limit the invention to the precise formsdisclosed herein. While specific embodiments of, and examples for, theinvention are described herein for illustrative purposes only, variousequivalent modifications are possible within the spirit and scope of thepresent invention, as those skilled in the relevant art will recognizeand appreciate. As indicated, these modifications may be made to thepresent invention in light of the foregoing description of illustratedembodiments of the present invention and are to be included within thespirit and scope of the present invention.

Thus, while the present invention has been described herein withreference to particular embodiments thereof, a latitude of modification,various changes and substitutions are intended in the foregoingdisclosures, and it will be appreciated that in some instances somefeatures of embodiments of the invention will be employed without acorresponding use of other features without departing from the scope andspirit of the invention as set forth. Therefore, many modifications maybe made to adapt a particular situation or material to the essentialscope and spirit of the present invention. It is intended that theinvention not be limited to the particular terms used in followingclaims and/or to the particular embodiment disclosed as the best modecontemplated for carrying out this invention, but that the inventionwill include any and all embodiments and equivalents falling within thescope of the appended claims.

We claim:
 1. A method comprising: registering, using a conference adapter, a first conference server using a first signaling functionality and a second conference server using a second signaling functionality; registering, using the conference adapter, a first endpoint using the first signaling functionality and a second endpoint using the second signaling functionality; receiving, at the conference adapter, a connection request from the first endpoint to connect to a conference session hosted by the second conference server; determining, using the conference adapter and using registration information associated with the first endpoint and the second conference server, signaling functionality translation between the first endpoint and the second conference server; establishing communications, using the conference adapter, between the first endpoint and the second conference server based on the signaling functionality translation, while maintaining communications between the conference adapter and the second conference server using the second signaling functionality and between the conference adapter and the first endpoint using the first signaling functionality; and maintaining communications between the first endpoint and the second conference server based on using the first signaling functionality between the conference adapter and the first endpoint and using the second signaling functionality between the conference adapter and the second conference server.
 2. The method of claim 1, further including: registering, using the conference adapter, a third conference server using a third signaling functionality; receiving, at the conference adapter, a connection request from the first endpoint to connect to a conference session hosted by the third conference server; and establishing communications, using the conference adapter, between the first endpoint and the third conference server, wherein the conference adapter is configured to perform signaling functionality translation between the third signaling functionality used by the third conference server and the first signaling functionality used by the first endpoint.
 3. The method of claim 2, further including: establishing communications, using the conference adapter, between the first endpoint and the third conference server while the communications between the first endpoint and the second conference server is existing.
 4. The method of claim 2, further including: terminating, using the conference adapter, the communications between the first endpoint and the second conference server.
 5. The method of claim 2, further including: receiving, at the conference adapter, a connection request from the first endpoint to connect to a conference session hosted by the first conference server; establishing communications, using the conference adapter, between the first endpoint and the first conference server based on the first signaling functionality used by the first endpoint and the first conference server, wherein the communications between the first endpoint and the first conference server is established while the communications between the first endpoint and the second conference server, and the communications between the first endpoint and the third conference server are existing; receiving, at the conference adapter, a request from the first endpoint to combine conference sessions hosted by the first conference server, the second conference server and the third conference server; responsive to receiving the request to combine the conference sessions, activating, using the conference adapter, a conference-bridging functionality implemented in the conference adapter; and combining into a single conference, using the conference-bridging functionality in the conference adapter, the conference sessions hosted by the first conference server, the second conference server and the third conference server such that the single conference is accessible by the first endpoint.
 6. The method of claim 1, further including: receiving, at the conference adapter, a connection request from the second endpoint to connect to a conference session hosted by the first conference server; determining, using the conference adapter and using registration information associated with the second endpoint and the first conference server, signaling functionality translation between the second endpoint and the first conference server; and establishing communications, using the conference adapter, between the second endpoint and the first conference server, wherein the conference adapter is configured to perform signaling functionality translation between the first signaling functionality used by the first conference server and the second signaling functionality used by the second endpoint, wherein the communications between the second endpoint and the first conference server is established while the communications between the first endpoint and the second conference server are existing.
 7. The method of claim 6, further including: receiving, at the conference adapter, a connection request from the second endpoint to connect to the conference session hosted by the second conference server; determining, using the conference adapter and using registration information associated with the second endpoint and the second conference server, signaling functionality translation between the second endpoint and the second conference server; and establishing communications, using the conference adapter, between the second endpoint and the second conference server based on the second signaling functionality used by the second endpoint and the second conference server, wherein the communications between the second endpoint and the second conference server is established while the communications between the first endpoint and the second conference server, and the communications between the second endpoint and the first conference server is existing.
 8. The method of claim 1, further including: registering, using the conference adapter, a plurality of endpoints of disparate types, wherein the disparate types are selected from a group including at least two of a cellular telephone, laptop computer, a SIP telephone and a desktop computer.
 9. The method of claim 1, further including: maintaining, using the conference adapter, predetermined registration information associated with a plurality of endpoints; and maintaining, using the conference adapter, predetermined registration information and support and signaling functionality associated with a plurality of conference servers.
 10. The method of claim 9, wherein the registration information includes at least one selected from a group including log-in passwords, usernames and cookies.
 11. The method of claim 1, wherein the conference adapter is configured to be implemented in at least one selected from a group including a network endpoint, a router and an ISP network.
 12. The method of claim 1, further including: activating, using the conference adapter, a conference-recording feature, wherein the conference-recording feature is activated by a user associated with the first endpoint to record the conference session hosted by the second conference server; responsive to activating the conference-recording feature, recording, using the conference adapter, the conference session hosted by the second conference server; receiving, at the conference adapter and from the user associated with the first endpoint, a request to play back a recording of the conference session hosted by the second conference server that is recorded by the conference adapter using the conference-recording feature; and responsive to receiving the request from the user, playing back, using the conference adapter; the recording of the conference session hosted by the second conference server.
 13. The method of claim 12, wherein recording, using the conference adapter, the conference session hosted by the second conference server includes recording at least one selected from a group including text, audio, video and other types of media.
 14. The method of claim 1, further including: activating, at the conference adapter and by a user of the first endpoint, an automatic personal-assistant functionality included in the conference adapter; detecting, using the automatic personal-assistant functionality associated with the first endpoint in the conference adapter, an incoming call for the first endpoint, wherein the incoming call is detected while the communications between the first endpoint and the second conference server is existing; and reducing by a predetermined amount, using the automatic personal-assistant functionality associated with the first endpoint in the conference adapter, a volume associated with the conference session hosted by the second conference server such that the first endpoint is enabled to receive the incoming call, wherein the automatic personal-assistant functionality associated with the first endpoint in the conference adapter is configured to mute incoming call to other endpoints participating in the conference session hosted by the second conference server.
 15. An apparatus for interfacing a plurality of endpoints with a plurality of conference servers, the apparatus comprising: a processor; a registration module including one or more instructions encoded in a non-transitory machine-readable medium for execution by the processor, the one or more instructions when executed cause the processor to perform functions including: registering a first conference server using a first signaling functionality and a second conference server using a second signaling functionality; and registering a first endpoint using the first signaling functionality and a second endpoint using the second signaling functionality; an interface module including one or more instructions encoded in a non-transitory machine-readable medium for execution by the processor, the one or more instructions when executed cause the processor to perform functions including: determining a signaling functionality translation between the first and second endpoints and the first and second conference servers based on registration information associated with the first and second endpoints and the first and second conference servers; and a controller module including one or more instructions encoded in a non-transitory machine-readable medium for execution by the processor, the one or more instructions when executed cause the processor to perform functions including: receiving a connection request from the first endpoint to connect to a conference session hosted by the second conference server; establishing communications between the first endpoint and the second conference server based on the signaling functionality translation by the interface module, while maintaining communications between the apparatus and the second conference server using the second signaling functionality and between the apparatus and the first endpoint using the first signaling functionality; and maintaining communications between the first endpoint and the second conference server based on using the first signaling functionality between the apparatus and the first endpoint and using the second signaling functionality between the apparatus and the second conference server.
 16. The apparatus of claim 15, wherein the one or more instructions included in the controller module when executed cause the processor to perform further functions including: receiving a connection request from the first endpoint to connect to a conference session hosted by a third conference server, wherein the third conference server is registered with the registration module using a third signaling functionality; and establishing communications between the first endpoint and the third conference server, wherein the interface module is configured to perform signaling functionality translation between the third signaling functionality used by the third conference server and the first signaling functionality used by the first endpoint.
 17. The apparatus of claim 16, further including: a buffer module including one or more instructions encoded in a non-transitory machine-readable medium for execution by the processor, the one or more instructions when executed cause the processor to perform functions including: activating a conference-recording feature, wherein the conference-recording feature is activated by a user associated with the first endpoint to record the conference session hosted by the second conference server; responsive to activating the conference-recording feature, recording the conference session hosted by the second conference server; and playing back a recording of the conference session hosted by the second conference server that is recorded in the buffer module, wherein the recording of the conference session is played back responsive to receiving a request, by the controller module, from the user associated with the first endpoint to play back the recording of the conference session.
 18. The apparatus of claim 16, wherein the one or more instructions included in the controller module when executed cause the processor to perform further functions including: receiving a connection request from the first endpoint to connect to a conference session hosted by the first conference server; and establishing communications between the first endpoint and the first conference server based on the first signaling functionality used by the first endpoint and the first conference server, wherein the communications between the first endpoint and the first conference server is established while the communications between the first endpoint and the second conference server, and the communications between the first endpoint and the third conference server are existing.
 19. The apparatus of claim 18, further including: a conference-server bridge module including one or more instructions encoded in a non-transitory machine-readable medium for execution by the processor, the one or more instructions when executed cause the processor to perform functions including: combining into a single conference the conference sessions hosted by the first conference server, the second conference server and the third conference server such that the single conference is accessible by the first endpoint, wherein the combining is performed based on receiving at the controller module a request from the first endpoint to combine conference sessions hosted by the first conference server, the second conference server and the third conference server.
 20. The apparatus of claim 15, further including: a conference assistant module including one or more instructions encoded in a non-transitory machine-readable medium for execution by the processor, the one or more instructions when executed cause the processor to perform functions including: detecting an incoming call for the first endpoint, wherein the incoming call is detected while the communications between the first endpoint and the second conference server is existing; reducing by a predetermined amount a volume associated with the conference session hosted by the second conference server such that the first endpoint is enabled to receive the incoming call; and muting the incoming call for the first endpoint to other endpoints participating in the conference session hosted by the second conference server.
 21. A non-transitory machine-readable medium, the medium comprising: one or more instructions for execution by a processor and when executed cause the processor to perform functions including: registering a first conference server using a first signaling functionality and a second conference server using a second signaling functionality; and registering a first endpoint using the first signaling functionality and a second endpoint using the second signaling functionality; determining a signaling functionality translation between the first and second endpoints and the first and second conference servers based on registration information associated with the first and second endpoints and the first and second conference servers; and receiving a connection request from the first endpoint to connect to a conference session hosted by the second conference server; establishing communications between the first endpoint and the second conference server based on the signaling functionality translation; and maintaining communications between the first endpoint and the second conference server based on using the first signaling functionality with the first endpoint and using the second signaling functionality with the second conference server. 